#!/usr/bin/python
#-*- coding=utf-8-*-
from django.conf.urls import url

from common import views
#项目的URL相关配置

urlpatterns = [

    # URL: 参数
    # regex: 使用正则表达式来匹配 URL 字符串
    # view: 是一个带有 HttpRequest 作为参数的视图方法用来响应捕获到的 URL 映射
    #       如果正则表达式是一个简单的捕获，那么其值会作为位置参数传递给该方法，
    #       如果正则表达式是一个命名的捕获，那么其值会作为关键字参数传递给该视图。
    # kwargs: 任何的关键字参数字典将会传递到目标视图中
    # name: 为该 URL 取一个别名以便在其他的任何地方来引用，尤其是在模板中，该特
    #       性使得只需要在单个文件中修改就可以进行全局的更改
    # index url
    url(r'^$', views.index, name="index"),

    # url 捕获简单的正则表达式， 并将其捕获到的所有值传递给视图函数
    url(r'pos/([^/]+)/(\d+)/$', views.pos_arg_request, name="pos-args"),

    #url 捕获命名正则表达式
    url(r'kw/(?P<name>\w+)/(?P<age>\d{1,3})/$', views.kw_arg_request, name="kw-args"),

    #url 传递上下文数据
    url(r'ctx/$', views.ctx_data_request, kwargs={"name": "context", "value": "test"}, name="ctx-args"),

    #template view index test
    url(r'tmp/$', views.tmp_index_request, name="tmp-index"),

    #shortcut method test
    url(r'sct/book/(?P<book_id>\d+)/$', views.book_detail, name="sct-book-detail"),

    #add a book object
    url(r'^book/add/$', views.book_add, name="book-add"),

    # browse book list
    url(r'^book/browse/$', views.book_browse,  name="book-browse"),

    # book detail page
    url(r'^book/(?P<book_id>\d+)/$', views.book_detail, name="book-detail"),

]
